package com.xpxrule.strategy.field;

import com.baomidou.mybatisplus.core.toolkit.StringUtils;
import com.xpxrule.dataobject.base.Range;

import java.util.List;
import java.util.stream.Collectors;

public class DoubleTypeStrategy extends FieldTypeStrategy<Double>{
    @Override
    String convertToDisplayText(Double value) {
        if (value == null) {
            return null;
        }
        return value.toString();
    }

    @Override
    String classConvertToString(Object value) {
        if (value == null) {
            return null;
        }
        return value.toString();
    }

    @Override
    Double stringConvertClass(String value) {
        if (StringUtils.isEmpty(value)) {
            return null;
        }
        return Double.valueOf(value);
    }

    @Override
    Double[] getFieldObjectByRangeValue(Range<String> rangeValue) {
        return new Double[0];
    }

    @Override
    Double getFieldObjectByListValue(List<String> listValue) {
        return null;
    }

//    @Override
//    String getFieldObjectSingleValue(Double singleValue) {
//        if (singleValue == null) {
//            return null;
//        }
//        return String.valueOf(singleValue);
//    }
//
//    @Override
//    String[] getFieldObjectByRangeValue(Range<Double> rangeValue) {
//        return null;
//    }
//
//    @Override
//    String getFieldObjectByListValue(List<Double> listValue) {
//        return listValue.stream().map(String::valueOf).collect(Collectors.joining(" "));
//    }
}
